02. Keras 中的最大池化层

窗口为 2x2、stride 为 2 的最大池化层
Keras 中的最大池化层
要在 Keras 中创建最大池化层,你必须首先导入必要的模块:
from keras.layers import MaxPooling2D
然后使用以下格式创建卷积层:
MaxPooling2D(pool_size, strides, padding)
参数
你必须包含以下参数:
pool_size
- 指定池化窗口高度和宽度的数字。
你可能还需要调整其他可选参数:
strides
- 垂直和水平 stride。如果不指定任何值,则strides
默认为pool_size
。padding
- 选项包括'valid'
和'same'
。如果不指定任何值,则padding
设为'valid'
。
注意:可以将 pool_size
和 strides
表示为数字或元组。
此外,建议阅读官方文档。
示例
假设我要构建一个 CNN,并且我想通过在卷积层后面添加最大池化层,降低卷积层的维度。假设卷积层的大小是 (100, 100, 15)
,我希望最大池化层的大小为 (50, 50, 15)
。要实现这一点,我可以在最大池化层中使用 2x2 窗口,stride 设为 2,代码如下:
MaxPooling2D(pool_size=2, strides=2)
如果你想将 stride 设为 1,但是窗口大小依然保留为 2x2,则使用以下代码:
MaxPooling2D(pool_size=2, strides=1)
检查最大池化层的维度
将以下代码复制粘贴到叫做 pool-dims.py
的 Python 可执行文件中:
from keras.models import Sequential
from keras.layers import MaxPooling2D
model = Sequential()
model.add(MaxPooling2D(pool_size=2, strides=2, input_shape=(100, 100, 15)))
model.summary()
运行 python path/to/pool-dims.py
并查看输出。应该如下所示:

你可以随便修改 pool-dims.py
文件中的参数,并看看最大池化层的形状如何变化。